﻿<?PHP

/**
 * Функция осуществляет взаимодействие с калькулятором
 * аргументы функции:
 * 
 * 
 * @author agrouzdev
 * @package defaultPackage
 */

function smarty_function_calc($params, &$smarty)
{
	if ($smarty->Controller->LoadModule('calc'))
	{
		$action = strtoupper(	PrepareVar_1($params['action']) );
		//var_dump($smarty->PageController->module);
		if (!defined('FWAD_CALC_ACTION_'.$action))
		{
			if (is_a($smarty->Controller,"AdminController"))
				echo "Неправильно задан формат action. Такого действия для заданной функции не сущестует";
			return;
		}
		$act = constant('FWAD_CALC_ACTION_'.$action);
		switch ($act)
		{
			case FWAD_CALC_ACTION_GETPUBLICGROUPS:
				
				$result = $smarty->Controller->Modules['calc']->GetCalcGroups();
				$smarty->assign($params['varname'],$result);
				break;
			case FWAD_CALC_ACTION_CALCITEM:
				if (isset($_POST['json']) && isset($_POST['gid']))
				{
					try
					{
						if (isset($_POST['cid']))
							$result = $smarty->Controller->Modules['price']->GetCalcItems((int)$_POST['gid'],(int)$_POST['cid']);
						else
							$result = $smarty->Controller->Modules['price']->GetCalcCompanies((int)$_POST['gid']);
						$data = json_encode($result);
						echo $data;
					}
					catch(fwException $e)
					{
							
					}
					exit;
				}
				break;
		}
	}
}
?>